How can a Perl force its caller to return? [closed]
Posted
by JS Bangs
on Stack Overflow
See other posts from Stack Overflow
or by JS Bangs
Published on 2010-05-22T18:15:30Z
Indexed on
2010/05/27
10:31 UTC
Read the original article
Hit count: 105
Possible Duplicate:
Is it possible for a Perl subroutine to force its caller to return?
I want to write a subroutine which causes the caller to return under certain conditions. This is meant to be used as a shortcut for validating input to a function. What I have so far is:
sub needs($$) {
my ($condition, $message) = @_;
if (not $condition) {
print "$message\n";
# would like to return from the *parent* here
}
return $condition;
}
sub run_find {
my $arg = shift @_;
needs $arg, "arg required" or return;
needs exists $lang{$arg}, "No such language: $arg" or return;
# etc.
}
The advantage of returning from the caller in needs
would then be to avoid having to write the repetitive or return
inside run_find
and similar functions.
© Stack Overflow or respective owner